<?php

/**
 * 涌浪模板解析管理类
 * @author tony
 */
class YlTemplates {

    const TEMPLATES_LOAD_FAILED = 100;
    const TEMPLATES_PARSE_FAILED = 101;

    /**
     * 解析错误信息
     * @var array
     */
    private static $_codes = array(
        self::TEMPLATES_LOAD_FAILED => '模板加载失败',
        self::TEMPLATES_PARSE_FAILED => '模板解析失败',
    );

    /**
     * 编译模板
     */
    private function _compileTemplates() {
        
    }

    /**
     * 加载模板文件
     */
    private function _loadTemplates($name, $dir, $runtime = 'runtime') {

        $filePath = rtrim($dir) . '/' . $name;
        $fileName = rtrim($dir) . '/' . $runtime . '/' . md5($filePath);
        if (file_exists($fileName)) {
            return require_cache($fileName);
        }

        //编译模板
        $this->_compileTemplates();

        //模板未加载成功
        if (!$loadSucceed) {
            //抛出异常
            throw_exception(self::$_codes[self::TEMPLATES_LOAD_FAILED], 'TemplatesLoadException', self::TEMPLATES_LOAD_FAILED);
        }

        return $templates;
    }

    /**
     * 解析模板标签
     */
    public function parseTemplates() {
        
    }

}
